Method, system and apparatus for implementing multimedia ring back tone service

ABSTRACT

A method, system and apparatus for implementing a Multimedia Ring Back Tone (MRBT) service are provided. The method includes: receiving a call request originated by a calling terminal; parsing a tone playing policy specifying whether to play a caller tone or a callee tone or whether to filter a tone; performing caller tone media negotiation or callee tone media negotiation, or performing no tone negotiation according to the parsing result; and playing the caller tone or the callee tone to the caller, or playing no tone. With the technical solution of the present invention, the caller tone service can be implemented in the IMS domain. Whether a caller tone or a callee tone is played to the caller is determined according to a preset policy. Furthermore, the tone filtering service is also implemented. This gives a user freedom in experiencing the MRBT service.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No.PCT/CN2008/071550, filed on Jul. 4, 2008, which claims priorities toChinese Patent Application No. 200710076368.6, filed on Jul. 4, 2007,Chinese Patent Application No. 200710182250.1, filed on Oct. 13, 2007and Chinese Patent Application No. 200810090251.8, filed on Mar. 31,2008, all of which are hereby incorporated by reference in theirentireties.

FIELD OF THE INVENTION

The present invention relates to communications, and in particular, to amethod, system and apparatus for implementing a Multimedia Ring BackTone (MRBT) service.

BACKGROUND OF THE INVENTION

The IP Multimedia Subsystem (IMS), defined in Release 5 standards of the3rd Generation Partnership Project, is a subsystem that supports IPmultimedia services. The IMS uses the Session Initiation Protocol (SIP)call control mechanism to create, manage, and terminate various types ofmultimedia services. The IMS provides a basis for service convergence.Based on IP technologies, the IMS supports voice, data and multimediaservices as well as new applications.

The IMS MRBT service is a service which is effective when its subscriberis called. When a call is originated via the IMS domain and the calleeis able to answer the call, if the callee is an MRBT service subscriberand has ordered a tone, the ordered tone, such as an audio, video orother multimedia file, will be played to the caller instead of anordinary ring back tone when the caller waits for the callee to answerthe call.

FIG. 1 shows a flowchart of call termination by an IMS MRBT servicesubscriber.

Step 101: A caller originates an IMS call request.

Step 102: The called Call Session Control Function server (CSCF)receives the IMS call and determines whether the callee has subscribedto the MRBT service according to the service profile of the calleestored in the Home Subscriber Server (HSS) of the callee.

Step 103: If the callee has not subscribed to the MRBT service, thecalled CSCF sends an IMS call signaling message to the callee.

Step 104: If the callee has subscribed to the MRBT service, the calledCSCF sends the call signaling message to the callee tone ApplicationServer (AS).

Step 105: The callee tone AS starts media negotiation between the callerand the called Media Resource Server (MRS) and sends a call signalingmessage to the callee via the CSCF.

Step 106: The callee tone AS instructs the called MRS to play a tone tothe caller when the callee is alerted.

With the above solution, an IMS MRBT can be played to a caller but theplayed MRBT is ordered by the callee. The solution provides personalizedservices for the callee. The inventor, however, has not found any ringback tone service ordered by a caller to reflect the personal liking ofthe caller or any solution that determines whether to play the ring backtone ordered by the caller (referred to as “caller tone”) or the ringback tone ordered by the callee (referred to as “callee tone”) to thecaller when the caller and the caller are both MRBT service subscribers.

SUMMARY OF THE INVENTION

The purpose of the present invention is to provide a solution fordetermining whether to play a caller tone or a callee tone to a calleraccording to user settings when both the caller and the callee are MRBTservice subscribers, For this purpose, a method for implementing thecaller tone service includes:

receiving a call request originated by a calling terminal;

parsing a tone playing policy according to the call request, the toneplaying policy specifying whether to play a caller tone or a callertone;

performing caller tone media negotiation or callee tone medianegotiation according to the parsing result; and

playing the caller tone or the callee tone to the caller according tothe media negotiation result upon reception of an alerting signal fromthe callee.

A method for implementing the MRBT service includes:

originating, by a calling terminal, a call request and performing callertone media negotiation or callee tone media negotiation according to atone playing policy which specifies whether to play a caller tone or acallee tone; and

receiving the caller tone or callee tone.

A system for implementing the MRBT service includes:

a calling terminal, adapted to originate a call request;

a tone policy configuring unit, adapted to set a tone playing policywhich specifies whether to play a caller tone or a callee tone;

a tone policy parsing unit, adapted to parse the tone playing policyaccording to the call request; and

an MRS, adapted to: perform tone media negotiation according to theparsing result and play a tone to the caller.

A calling terminal includes:

a sending unit, adapted to send a call request;

a tone policy configuring unit, adapted to set a tone playing policywhich specifies whether to play a caller tone or a callee tone; and

a tone flag adding unit, adapted to add a caller tone flag or a calleetone flag to the call request according to the policy.

Another calling terminal includes:

a sending unit, adapted to send a call request;

a tone policy configuring unit, adapted to set a tone playing policywhich specifies whether to play a caller tone or a callee tone; and

a tone policy parsing unit, adapted to determine to perform tone medianegotiation between the calling terminal and a caller media resourceserver, or between the calling terminal and a callee media resourceserver according to the tone playing policy.

A tone AS includes:

a tone policy parsing unit, adapted to parse a tone playing policy andtrigger a caller tone or a callee tone according to the policy; and

a media negotiating unit, adapted to perform media negotiation between acalling terminal and a media resource server corresponding to theparsing result.

A CSCF includes:

an authenticating unit, adapted to determine whether an end user is anMRBT service subscriber according to a terminal ID carried in a callrequest and a subscription relation between the terminal ID and the MRBTservice stored in an HSS; and

a tone policy parsing unit, adapted to: parse a tone playing policycarried in a call request and route a call signaling message of an MRBTservice subscriber to a caller tone AS or a callee tone AS according tothe policy.

Another tone AS includes:

a tone policy configuring unit, adapted to set a tone playing policywhich specifies whether to play a caller tone or a callee tone; and

a media negotiating unit, adapted to perform media negotiation between acalling terminal and a calling or called MRS determined by the policyaccording to a result of parsing the policy.

Another tone AS includes:

a tone policy configuring unit, adapted to set a tone playing policywhich specifies whether to play a caller tone or a callee tone;

a tone policy parsing unit, adapted to parse the tone playing policy andtrigger a caller tone or callee tone process according to a parsingresult; and

a media negotiating unit, adapted to perform media negotiation between acalling terminal and a calling or called MRS determined by the policyaccording to the parsing result.

A method for implementing the tone filtering service includes:

receiving a call request originated by a calling terminal;

determining whether to filter a tone according to the call request; and

filtering the tone according to the decision.

Another method for implementing the tone filtering service includes:

originating, by a calling terminal, a call request and receiving anearly tone media negotiation request;

determining whether to filter a tone according a stored tone filteringpolicy; and

refusing to perform the tone media negotiation, play the tone, or open amedia channel according to the decision.

A server includes:

a receiving unit, adapted to receive a call request originated by acalling terminal;

a determining unit, adapted to determine whether to filter a toneaccording to the call request; and

a filtering unit, adapted to filter the tone according to the decision.

A terminal includes:

a transceiver unit, adapted to: originate a call request and receive anearly tone media negotiation request;

a policy unit, adapted to store a tone filtering policy; and

a filtering unit, adapted to: determine whether to filter a toneaccording to the stored tone filtering policy and reject the tone medianegotiation, or refuse to play the tone, or refuse to open a mediachannel, according to the decision.

Another method for implementing the MRBT service includes:

receiving a call request originated by a calling terminal;

sending the call request to a callee and receiving a call response fromthe callee; and

playing a caller tone or a callee tone to the calling terminal accordingto a tone playing policy and the call response.

Another tone AS includes:

a transceiver unit, adapted to: receive a call request originated by acalling terminal and send the call request to a callee and receive acall response from the callee;

a policy unit, adapted to store a tone playing policy; and

a playing unit, adapted to play a caller tone or a callee tone to thecalling terminal according to the tone playing policy and the callresponse.

With the technical solution provided in the embodiments of the presentinvention, the caller tone service can be implemented in the IMS domain.When both the caller and callee are MRBT service subscribers, the toneAS determines whether to play the caller tone or the callee tone to thecaller according to a tone policy.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a flowchart of call termination by an MRBT servicesubscriber in the IMS domain in a prior art;

FIG. 2 shows a system for implementing the MRBT service according toembodiment B1 of the present invention;

FIG. 3 shows a calling terminal according to embodiment B2 of thepresent invention;

FIG. 4 shows a tone AS according to embodiment B3 of the presentinvention;

FIG. 5 shows a CSCF according to embodiment B4 of the present invention;

FIG. 6 shows a tone AS according to embodiment B5 of the presentinvention;

FIG. 7 shows a tone AS according to embodiment B6 of the presentinvention;

FIG. 8 shows a calling terminal according to embodiment B7 of thepresent invention;

FIG. 9 shows a method for implementing the IMS MRBT service according toembodiment C0 of the present invention;

FIG. 10 shows a method for implementing the IMS MRBT service accordingto embodiment C1 of the present invention;

FIG. 11 shows a method for implementing the IMS MRBT service accordingto embodiment C2 of the present invention;

FIG. 12 shows a method for implementing the IMS MRBT service accordingto embodiment C3 of the present invention;

FIG. 13 shows a method for implementing the IMS MRBT service accordingto embodiment C4 of the present invention;

FIG. 14 shows a method for implementing the IMS MRBT service accordingto embodiment C5 of the present invention;

FIG. 15 shows a method for implementing the IMS MRBT service accordingto embodiment C6 of the present invention;

FIG. 16 shows a method for implementing the IMS MRBT service accordingto embodiment C7 of the present invention;

FIG. 17 shows a method for implementing the IMS MRBT service accordingto embodiment C8 of the present invention;

FIG. 18 shows a method for implementing the IMS MRBT service accordingto embodiment C9 of the present invention;

FIG. 19 shows a method for implementing the IMS MRBT service accordingto embodiment C10 of the present invention;

FIG. 20 shows a method for implementing the IMS MRBT service accordingto embodiment C11 of the present invention;

FIG. 21 shows a method for implementing the IMS MRBT filtering serviceaccording to embodiment C12 of the present invention;

FIG. 22 shows a method for implementing the IMS MRBT filtering serviceaccording to embodiment C13 of the present invention;

FIG. 23 shows a method for implementing the IMS MRBT filtering serviceaccording to embodiment C14 of the present invention;

FIG. 24 shows a server provided according to an embodiment of thepresent invention;

FIG. 25 shows a terminal provided according to an embodiment of thepresent invention;

FIG. 26 shows a flowchart of a method for choosing a tone according toan embodiment of the present invention;

FIG. 27 shows a flowchart of another method for choosing a toneaccording to an embodiment of the present invention;

FIG. 28 shows a flowchart of still another method for choosing a toneaccording to an embodiment of the present invention; and

FIG. 29 shows a structure of a tone AS provided according to anembodiment of the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

As shown in FIG. 2, a system for implementing the MRBT service accordingto embodiment B1 of the present invention includes: a calling terminal101, a CSCF 102, a tone AS 104, an MRS 105, a called terminal 103, atone policy configuring unit 106, and a tone policy parsing unit 107.The calling terminal 101 is adapted to originate a call request; theCSCF 102 is adapted to send the call request to the tone AS 104; thetone AS 104 is adapted to perform media negotiation between the callerand the MRS 105; the tone policy configuring unit 106 is adapted to seta tone playing policy which specifies whether to play a caller tone or acaller tone; the tone policy parsing unit 107 is adapted to parse thetone playing policy; the MRS 105 is adapted- to negotiate tone mediawith the caller according to the parsing result and to play a tone tothe caller. In FIG. 2, the tone policy configuring unit is placed in thecalling terminal 101, and the tone policy parsing unit 107 is placed inthe tone AS 104.

More widely, the tone policy configuring unit 106 may be placed in thecalling terminal 101, and the tone policy parsing unit 107 may be placedin the tone AS 104 or the CSCF 102, or the calling terminal 101. If thetone AS 104 includes a caller tone AS 1041 and a callee tone 1042, thetone policy parsing unit 107 is placed in both the caller tone AS andthe callee tone 1042. If the CSCF 102 includes a calling CSCF 1021 and acalled CSCF 1022, the tone policy parsing unit 107 is placed in both thecalling CSCF 1021 and the called CSCF 1022.

Optionally, the tone policy configuring unit 106 may be placed in anentity accessible to the caller tone AS 1041 or the callee tone AS 1042,such as a tone management system and a network address book of a user;the tone policy parsing unit 107 may be placed in the caller tone AS1042 or the called CSCF 1022 or the caller tone AS 1041.

As shown in FIG. 3, a calling terminal according to embodiment B2 of thepresent invention includes a tone policy configuring unit 201, a toneflag adding unit 202, and a sending unit 203. The sending unit 203 isadapted to send a call request; the tone policy configuring unit 201 isadapted to set a tone playing policy specifying whether to play a callertone or a callee tone; and the tone flag adding unit 202 is adapted toadd a caller tone flag or a callee tone flag to the call requestaccording to the tone policy.

As shown in FIG. 4, a tone AS according to embodiment B3 of the presentinvention includes a tone policy parsing unit 301 and a medianegotiating unit 302. The tone policy parsing unit 301 is adapted toparse the tone playing policy and to trigger the caller tone or thecallee tone according to the policy; and the media negotiating unit 302is adapted to perform media negotiation between the caller and the MRSdetermined by the policy according to the parsing result.

As shown in FIG. 5, a CSCF according to embodiment B4 of the presentinvention includes an authenticating unit 401 and a tone policy parsingunit 402. The authenticating unit 401 is adapted to determine whetherthe end user is an MRBT service subscriber according to the terminal IDcarried in the call request and subscription relation between theterminal ID and the MRBT service stored in the HSS; and the tone policyparsing unit 402 is adapted to parse the tone playing policy carried inthe call request and to route the call signaling message of an MRBTservice subscriber to the caller tone AS or the callee tone AS accordingto the policy.

As shown in FIG. 6, a tone AS according to embodiment B5 of the presentinvention includes a tone policy configuring unit 501 and a medianegotiating unit 502. The tone policy configuring unit 501 is adapted toset the tone playing policy specifying whether to play the caller toneor the callee tone; and the media negotiating unit 502 is adapted toperform media negotiation between the caller and the caller or calledMRS determined by the policy according to the parsing result.

As shown in FIG. 7, a tone AS according to embodiment B6 of the presentinvention includes a tone policy configuring unit 601, a tone policyparsing unit 602, and a media negotiating unit 603. The tone policyconfiguring unit 601 is adapted to set the tone playing policyspecifying whether to play the caller tone or the callee tone; the tonepolicy parsing unit 602 is adapted to parse the tone playing policy andto trigger the caller tone or the callee tone according to the policy;and the media negotiating unit 603 is adapted to perform medianegotiation between the caller and the caller or called MRS determinedby the policy according to the parsing result.

If the tone AS includes a caller tone AS and a callee tone AS, the tonepolicy configuring unit is placed in the caller tone AS and the tonepolicy parsing unit 602 is placed in the caller tone AS or the calleetone AS.

As shown in FIG. 8, a calling terminal according to embodiment B7 of thepresent invention includes a sending unit 701, a tone policy configuringunit 702 and a tone policy parsing unit 703. The sending unit 701 isadapted to send a call request; the tone policy configuring unit 702 isadapted to set the tone playing policy specifying whether to play thecaller tone or the callee tone; and the tone policy parsing unit 703 isadapted to determine to perform early media negotiation between thecaller and the calling MRS or between the caller and the called MRSaccording to the tone playing policy.

In embodiments B1 to B7, the calling CSCF and the called CSCF may be thesame CSCF or different CSCFs; the caller tone AS and the callee tone ASmay be the same AS or different ASs; the caller tone management systemand callee tone management system may be the same system or differentsystems. The calling MRS and the called MRS may be the same MRS ordifferent MRSs.

As shown in FIG. 9, a method for implementing the IMS MRBT serviceaccording to embodiment C0 of the present invention includes:

Step 0001: A calling terminal originates a call request.

Step 0002: Parse the tone playing policy according to the call request,where the policy specifies whether to play the caller tone or the calleetone or whether to filter the tone.

Step 0003: Perform caller tone media negotiation or callee tone medianegotiation or proceed without performing tone media negotiation.

Step 0004: After an alerting signal from the callee is received, playthe caller tone or the callee tone or play no tone to the calleraccording to the media negotiation result.

Before the above steps, it is necessary to set a tone playing policy,which may be set in the caller tone AS or the calling terminal.Optionally, the tone filtering policy may be set in a tone filtering AS.

Embodiments C1 to C6 provide a method for implementing the MRBT service,where the tone playing policy is set in a caller tone AS.

Embodiments C7 to C11 provide a method for implementing the MRBTservice, where the tone playing policy is set in a calling terminal.

When the tone playing policy is set in a caller tone AS, the settingscheme may be customized. The policy may be so set that the caller tonetakes precedence over the callee tone under all circumstances; or thepolicy may be so set that the caller tone is played when a certaincondition is met and that the callee tone is played when anothercondition is met; or the policy may be so set that different callertones are played according to applicable conditions, for example,different caller tones are played in the event of different callees anddifferent time segments.

The following table describes a policy according to which differenttones are played in the event of different callees and the callee toneis played in the case of callees other than B, C, D, E, F, and G

TABLE 1 User settings in the caller tone AS Condition Tone Flag ToneNumber Callee is B, C, or D caller-tone Tone No. 1 Callee is E, F or GTone No. 2 Other callees callee-tone

The mapping between tone flags and conditions and the mapping betweentone numbers and conditions may be set together in the caller tone AS oran entity accessible to the caller tone AS, such as a caller tonemanagement system. Optionally, they may be set separately. For example,the mapping between tone flags and conditions is set in the caller toneAS and the mapping between tone numbers and conditions is set in thetone management system. The embodiments C1 to C6 adopt the settings inTable 1.

The tone flag may be carried in a new SIP header field or an extendedheader field, or an extended SDP. Particularly, the flag may be set in aContact header field; for example, “caller-tone” is added to Schemes ofContact.

In embodiments C1 and C2, a signaling flow and an early medianegotiation process are described for exemplary purposes. In thesignaling flow, a flag instructing whether to trigger the caller tone orthe callee tone is set in the caller tone AS and the flag is parsed bythe callee tone AS. In the processes, caller A, callee B and callee Hare all MRBT service subscribers.

As shown in FIG. 10, in embodiment C1, a signaling flow where caller Aoriginates an IMS call to callee B and finally the No. 1 caller tone isplayed includes:

Step 0101: The caller sends an INVITE message which carries the callingterminal ID, called terminal ID and normal media SDP (offer1) of thecaller for call setup.

The calling CSCF determines that the caller is an MRBT servicesubscriber according to the calling terminal ID carried in the INVITEmessage and the subscription relation between the calling terminal IDand the MRBT service stored in the HSS and routes the call request tothe caller tone AS.

Step 0102: The caller tone AS finds that the tone flag corresponding tocallee B is “caller-tone” and the corresponding tone number is “Tone No.1” according to the user settings and terminal ID of callee B anddetermines to play the No. 1 caller tone when caller A calls callee B.The caller tone AS adds “caller-tone” to the INVITE message and laterwill trigger step 0109.

Step 0103: The caller tone AS forwards the INVITE message to the calledCSCF via the calling CSCF; the called CSCF determines that the callee isan MRBT service subscriber according to the called terminal ID carriedin the INVITE message and the subscription relation between the calledterminal ID and the MRBT service stored in the HSS and sends the INVITEmessage carrying the calling terminal ID, called terminal ID, offer1 andcaller-tone to the callee tone AS.

Steps 0104 and 0105: The callee tone AS determines that the callee tonewill not be played according to the caller-tone flag carried in theINVITE message and sends the INVITE message to the called terminal viathe called CSCF.

Steps 0106 and 0107: The called terminal performs normal medianegotiation according to its capability and sends a provisional responseto the callee tone AS via the called CSCF. The provisional responsecarries the normal media SDP (answer1) negotiated by the caller and thecallee. The response may be a 183 message.

In this embodiment and embodiments C2 to C11 of the present invention,all provisional responses are 183 messages.

Step 0108: The callee tone AS forwards the provisional response to thecaller tone AS via the called CSCF and the calling CSCF.

Step 0109: Because it is already determined in step 0102 that the No. 1caller tone will be played, the caller tone AS gets the early media SDP(offer2) of the calling MRS for early tone media negotiation between thecaller and the calling MRS.

Step 0110: The caller tone AS sends the 183 message to the callingterminal via the calling CSCF. The message carries answer1 and offer2.

Steps 0111 and 0112: The calling terminal performs early medianegotiation according to its capability and sends a Prack message to thecaller tone AS. The message carries the negotiated early tone media SDP(answer2).

Step 0113: The caller tone AS forwards the negotiated early tone mediaSDP (answer2) to the calling MRS.

Steps 0114 and 0115: The caller tone AS sends the Prack message to thecalled terminal.

Steps 0116 to 0118: The called terminal sends a response to the callingterminal.

Steps 0119 to 0121: The called terminal is alerted and sends an alertingsignal 180 to the calling terminal.

Step 0122: The caller tone AS receives the alerting signal 180 andinstructs the calling MRS to play the No. 1 caller tone to the caller.

Steps 0123 to 0125: The callee answers and the called terminal sends anoff-hook signal 200 to the calling terminal.

Step 0126: The caller tone AS sends the 200 message and instructs thecalling MRS to stop playing the tone.

The above steps are not performed in special order of time; the steps inembodiments C2 to C11 are not performed in special order of time either.

In embodiment C1, the negotiated normal media SDP (offer1) is sent tothe caller via a provisional response 183; optionally, it may be sent tothe caller in a 200 (INVITE) message in steps 0123 to 0125.

In steps 0101 and 0103 of embodiment C1, the calling CSCF or the calledCSCF determines that the caller or the callee is an MRBT servicesubscriber according to the terminal ID carried in the INVITE messageand the subscription relation between the terminal ID and the MRBTservice; optionally, the steps may be performed by the caller tone ASand the callee tone AS. In the following embodiments C2 to C11,authentication related steps may also be performed by the tone AS.

As shown in FIG. 11, in embodiment C2, a signaling flow where caller Aoriginates an IMS call to callee H and finally the callee tone is playedincludes:

Step 0201: Similar to step 0101.

Step 0202: The caller tone AS finds that the tone flag corresponding tocallee H is “callee-tone” according to the user settings and theterminal ID of callee H and determines that the callee tone will beplayed when caller A calls callee H. The caller tone AS adds“callee-tone” to the INVITE message.

Step 0203: The caller tone AS forwards the INVITE message to the calledCSCF via the calling CSCF; the called CSCF determines that the callee isan MRBT service subscriber according to the called terminal ID carriedin the INVITE message and the subscription relation between the calledterminal ID and the MRBT service stored in the HSS and sends the INVITEmessage carrying the calling terminal ID, called terminal ID, the normalmedia SDP (offer1) of the caller for call setup and callee-tone to thecallee tone AS.

Steps 0204 and 0205: The callee tone AS determines that the callee tonewill be played according to the callee-tone flag carried in the INVITEmessage and sends the INVITE message to the called terminal via thecalled CSCF.

Steps 0206 and 0207: Similar to steps 0106 and 0107.

Step 0208: Because it is already determined in step 0202 that the calleetone will be played, the callee tone AS gets the early media SDP(offer2) of the called MRS.

Steps 0209 and 0210: The callee tone AS sends a 183 message to thecaller tone AS via the called CSCF, calling CSCF and the caller tone AS;the 183 message carries the negotiated normal media SDP (answer1) andoffer2.

Step 0211: The calling terminal performs early tone media negotiationaccording to its capability.

Steps 0212 and 0213: The calling terminal sends a Prack message to thecallee tone AS via the calling CSCF and the called CSCF. The messagecarries the negotiated early tone media SDP (answer2).

Step 0214: The callee tone AS forwards the negotiated early tone mediaSDP (answer2) to the called MRS.

Step 0215: The callee tone AS forwards the Prack message to the calledterminal.

Steps 0216 to 0221: Similar to steps 0116 to 0121.

Step 0222: The callee tone AS receives the 180 message and instructs thecalled MRS to play the tone to the caller.

Steps 0223 and 0225: Similar to steps 0123 and 0125.

Step 0226: The callee tone AS receives the 200 message and instructs thecalled MRS to stop playing the tone.

In embodiment C2, callee H is an MRBT service subscriber; if callee Hhas not ordered an MRBT, two processing solutions are available.

Solution 1: Play a traditional ring back tone to the caller.

Solution 2: Play a caller tone, similar to the embodiments shown inFIGS. 26, 27 and 28.

In embodiments C3 and C4, a signaling flow and an early medianegotiation process are described for exemplary purposes. In thesignaling flow, a flag instructing whether to trigger the caller tone orthe callee tone is set in the caller tone AS and the flag is parsed bythe callee tone AS. In the processes, caller A, callee C and callee Jare all MRBT service subscribers.

As shown in FIG. 12, in embodiment C3, a signaling flow where caller Aoriginates an IMS call to callee D and finally the caller tone is playedincludes:

Steps 0301 and 0302: Similar to steps 0101 and 0102. In step 0302, thecaller tone AS has triggered step 0309 according to the caller-tone flagcarried in the INVITE message to get the early media SDP (offer2) of thecalling MRS.

Steps 0303 and 0304: The caller tone AS routes the INVITE message to thecalled CSCF via the calling CSCF; the called CSCF determines that thecallee is an MRBT service subscriber according to the called terminal IDcarried in the INVITE message and the subscription relation between thecalled terminal ID and the MRBT service stored in the HSS; and thecalled CSCF determines that the callee tone will not be played accordingto the caller-tone flag carried in the INVITE message.

Step 0305: The called CSCF forwards the INVITE message directly to thecalled terminal. The INVITE message carries the calling terminal ID,called terminal ID, offer1 and caller-tone.

Steps 0306 and 0326: Similar to steps 0106 and 0126.

As shown in FIG. 13, in embodiment C4, a signaling flow where caller Aoriginates an IMS call to callee I and finally the callee tone is playedincludes:

Steps 0401 and 0403: Similar to steps 0201 and 0203.

Step 0404: The called CSCF determines that the callee tone will beplayed according to the callee-tone flag carried in the INVITE message.

Step 0405: The called CSCF forwards the INVITE message to the calleetone AS, where the INVITE message carries the calling terminal ID,called terminal ID, offer1 and callee-tone; the callee tone AS triggersstep 0409 according to the callee-tone flag to get the early media SDP(offer2) of the called MRS.

Steps 0406 and 0432: Similar to steps 0205 and 0226.

In embodiments C5 and C6, a signaling flow and an early medianegotiation process are described for exemplary purposes. In thesignaling flow, a flag instructing whether to trigger the caller tone orthe callee tone is set in the caller tone AS and the flag is parsed bythe caller tone AS. In the processes, caller A, callee D and callee Kare all MRBT service subscribers.

As shown in FIG. 14, in embodiment C5, a signaling flow where caller Aoriginates an IMS call to callee D and finally the caller tone is playedincludes:

Step 0501: Similar to step 0101.

Step 0502: The caller tone AS finds that the corresponding tone flag is“caller-tone” and that the tone number is “tone No. 1” according to usersettings and the terminal ID of callee D and determines that the No. 1caller tone will be played when caller A calls callee D.

Step 0503: The caller tone AS routes the INVITE message to the calledCSCF via the calling CSCF; the called CSCF determines that callee D isan MRBT service subscriber according to the called terminal ID carriedin the INVITE message and the subscription relation between the calledterminal ID and the MRBT service stored in the HSS; and the called CSCFforwards the INVITE message to the callee tone AS.

Step 0504: The callee tone AS gets the early media SDP (offer2) of thecalled MRS.

Step 0505: The callee tone AS sends the INVITE message to the calledterminal via the called CSCF. The INVITE message carries the callingterminal ID, called terminal ID, and the normal media SDP (offer1) ofthe caller for call setup.

Steps 0506 and 0507: The called terminal performs normal medianegotiation according to its capability and sends a 183 message to thecallee tone AS via the called CSCF. The 183 message carries the normalmedia SDP (answer1) negotiated by the caller and the callee.

Step 0508: The callee tone AS sends the 183 message to the caller toneAS via the called CSCF and the calling CSCF. The 183 message carries thenormal media SDP (answer1) negotiated by the caller and the callee andthe early media SDP (offer2) of the called MRS.

A service ID or an appropriate media attribute mark may be set inoffer2, indicating that offer2 is the SDP for the callee tone service.Line m may be extended to describe the media type “callee tone”, forexample:m=application 2456 TCP callee-tone

Step 0509: The caller tone AS gets the early media SDP (offer3) of thecalling MRS for early tone media negotiation between the caller and thecalling MRS.

Step 0510: The caller tone AS substitutes the early media SDP of thecalling MRS (offer3) for the early media SDP of the called MRS (offer2)in the 183 message and sends the 183 message to the calling terminal viathe calling CSCF. The 183 message carries the negotiated normal mediaSDP (answer1) and the early media SDP of the calling MRS (offer3).

Steps 0511 and 0512: The calling terminal performs early medianegotiation according to its capability and sends a Prack message to thecaller tone AS. The message carries the negotiated early tone media SDP(answer3).

Step 0513: The caller tone AS forwards the negotiated early tone mediaSDP (answer3) to the calling MRS.

Steps 0514 and 0515: The caller tone AS performs media negotiation withthe called MRS on behalf of the caller. In answer2, the calling terminalport number may be set to 0 or the media direction attribute may bemodified to “sendonly”.

Steps 0516 and 0527: Similar to steps 0115 to 0126.

As shown in FIG. 15, in embodiment C6, a signaling flow where caller Aoriginates an IMS call to callee K and finally the callee tone is playedincludes:

Step 0601: Similar to step 0101.

Step 0602: The caller tone AS finds that the corresponding tone flag is“callee-tone” according to user settings and the terminal ID of callee Kand determines that the callee tone will be played when caller A callscallee K.

Steps 0603 and 0608: Similar to steps 0503 and 0508.

Step 0608: The caller tone AS sends the 183 message to the callingterminal via the calling CSCF. The 183 message carries the negotiatednormal media SDP (answer1) and the early media SDP of the called MRS(offer2).

Step 0610: The calling terminal performs early tone media negotiationaccording to its capability.

Steps 0611 and 0625: Similar to steps 0212 and 0225. In embodiments C7to C11 of the present invention, the calling terminal A may be so setthat the tone meeting a preset condition is played. The setting schememay be customized. Particularly, the setting may be that the caller toneis played under all circumstances, which means the caller tone takesprecedence over the callee tone; optionally, the setting may be that thecaller tone is player when a certain condition is met and that thecallee tone is player when another condition is met.

The following table describes a setting scheme where different tones areplayed in the event of different callees:

TABLE 2 User settings in the calling terminal Condition Tone Flag Calleeis b, c, or d caller tone Other callees callee tone

The tone ID may be carried in a new SIP header field or an extendedheader field, or an extended SDP. Particularly, the flag may be set in aContact header field; for example, “caller-tone” is added to Schemes ofContact.

In embodiments C7 and C8, caller A, callee b and callee e are all MRBTservice subscribers; the calling terminal sets a flag instructing toplay the caller tone or the callee tone in the call request and thecaller tone AS and the callee tone AS parse the flag in the callrequest.

As shown in FIG. 16, in embodiment C7, a signaling flow where caller Aoriginates an IMS call to callee b and finally the caller tone is playedincludes:

Step 0701: The calling terminal finds that the tone flag correspondingto callee b is “caller-tone” according to the user (settings and theterminal ID of callee b and determines that the caller tone will beplayed when caller A calls callee b. The calling terminal adds“caller-tone” to an INVITE message.

Step 0702: The calling terminal sends the INVITE message to the callingCSCF; the calling CSCF determines that caller A is an MRBT servicesubscriber according to the calling terminal ID carried in the INVITEmessage and the subscription relation between the calling terminal IDand the MRBT service stored in the HSS and forwards the INVITE messageto the caller tone AS, where the forwarded INVITE message carries thecalling terminal ID, called terminal ID, the normal media SDP (offer1)of the caller for call setup and caller-tone.

Step 0703: The caller tone AS determines that the caller tone will beplayed according to the caller-tone flag carried in the INVITE messageand triggers a caller tone process, namely, step 0710, where the callertone AS gets the early media SDP (offer2) of the MRS.

Step 0704: The caller tone AS routes the INVITE message to the callingCSCF and the called CSCF; the called CSCF determines that the callee isan MRBT service subscriber according to the called terminal ID carriedin the INVITE message and the subscription relation between the calledterminal ID and the MRBT service stored in the HSS; and the called CSCFforwards the INVITE message to the callee tone AS.

Step 0705: The callee tone AS determines that the caller tone will beplayed according to the caller-tone flag carried in the INVITE messageand proceeds without triggering a callee tone process.

Steps 0706 and 0727: Similar to steps 0105 and 0126.

If the callee in the preceding embodiment is b′ who is not an MRBTservice subscriber, the signaling flow is like the above and thedifferences are as follows: In step 0704, the called CSCF determinesthat callee b is not an MRBT service subscriber according to the calledterminal ID carried in the INVITE message and the subscription relationbetween the called terminal ID and the MRBT service stored in the HSS,and sends the INVITE message directly to the callee; and there is nostep 0705. The other steps are all like those in embodiment C7 of thepresent invention. This means, if the callee is not an MRBT servicesubscriber, the setting is as follows: The calling terminal sets a flaginstructing whether to trigger the caller tone or the callee tone in thecall request and the caller tone AS parses the flag in the call request.

As shown in FIG. 17, in embodiment C8, a signaling flow where caller Aoriginates an IMS call to callee e and finally the callee tone is playedincludes:

Step 0801: The calling terminal finds that the tone flag correspondingto callee b is “callee-tone” according to the user settings and theterminal ID of callee b and determines that the callee tone will beplayed when caller A calls callee b. The calling terminal adds“callee-tone” to the INVITE message.

Step 0802: The calling terminal sends the INVITE message to the callingCSCF; the calling CSCF determines that caller A is an MRBT servicesubscriber according to the calling terminal ID carried in the INVITEmessage and the subscription relation between the calling terminal IDand the MRBT service stored in the HSS and forwards the INVITE messageto the caller tone AS, where the forwarded INVITE message carries thecalling terminal ID, called terminal ID, the normal media SDP (offer1)of the caller for call setup and callee-tone.

Step 0803: The caller tone AS determines that the callee tone will beplayed according to the callee-tone flag carried in the INVITE messageand proceeds without triggering the caller tone process.

Step 0804: Similar to step 0704.

Step 0805: The callee tone AS determines that the callee tone will beplayed according to the callee-tone flag carried in the INVITE messageand triggers the callee tone process, namely, step 0809, where thecallee tone AS gets the early media SDP (offer2) of the called MRS.

Steps 0806 and 0827: Similar to steps 0706 and 0727.

In embodiments C9 and C10, caller A, callee c and callee f are all MRBTservice subscribers; the calling terminal sets a flag instructingwhether to play the caller tone or the callee tone in the call requestand the caller tone AS and the callee tone AS parse the flag in the callrequest.

As shown in FIG. 18, in embodiment C9, a signaling flow where caller Aoriginates an IMS call to callee c and finally the caller tone is playedincludes:

Step 0901: Similar to step 0701.

Step 0902: The caller sends to the calling CSCF an INVITE message whichcarries the calling terminal ID, called terminal ID, and normal SDP(offer1) of the caller for call setup, and caller-tone.

Steps 0903 and 0904: The calling CSCF determines that the caller is anMRBT service subscriber according to the calling terminal ID carried inthe INVITE message and the subscription relation between the callingterminal ID and the MRBT service stored in the HSS and determines thatthe caller tone will be played according to the caller-tone flag carriedin the INVITE message; therefore, the calling CSCF routes the INVITEmessage to the caller tone AS and later step 0911 will be performedwhere the caller tone AS gets the early media SDP of the MRS (offer2).

Step 0905: The caller tone AS sends the INVITE message to the calledCSCF via the calling CSCF.

Steps 0906 and 0907: The called CSCF determines that the caller tonewill be played according to the caller-tone flag carried in the INVITEmessage and forwards the INVITE message directly to the callee.

Steps 0908 and 0933: Similar to steps 0106 and 0126. As shown in FIG.19, in embodiment C10, a signaling flow where caller A originates an IMScall to callee f and finally the callee tone is played includes:

Step 1001: Similar to step 0801.

Steps 1002 to 1004: The calling terminal sends the INVITE message to thecalling CSCF; the INVITE message carries the calling terminal ID, calledterminal ID, normal media SDP (offer1) of the caller for call setup andcallee-tone; the calling CSCF determines that the callee tone will beplayed according to the callee-tone flag carried in the INVITE messageand therefore forwards the INVITE message directly to the called CSCF.

Step 1005: The called CSCF determines that the callee is an MRBT servicesubscriber according to the called terminal ID carried in the INVITEmessage and the subscription relation between the called terminal ID andthe MRBT service stored in the HSS and determines that the callee tonewill be played according to the callee-tone flag carried in the INVITEmessage; therefore, the called CSCF routes the INVITE message to thecallee tone AS and later the callee tone AS will get the early media SDPof the called MRS (offer2).

Steps 1006 and 1033: Similar to steps 0205 and 0226.

In embodiment C11 of the present invention, caller A and callee d areboth MRBT service subscribers; the policy specifying whether to play thecaller tone or the callee tone is set in the calling terminal and thecalling terminal parses the policy and determines whether to performearly caller media negotiation or early callee media negotiation.

As shown in FIG. 20, in embodiment C11, a signaling flow where caller Aoriginates an IMS call to callee d and finally the caller tone is playedincludes:

Step 1101: The caller sends an INVITE message which carries the callingterminal ID, called terminal ID and normal SDP (offer1) of the callerfor call setup.

The calling CSCF determines that the caller is an MRBT servicesubscriber according to the calling terminal ID carried in the INVITEmessage and the subscription relation between the calling terminal IDand the MRBT service stored in the HSS and routes the call request tothe caller tone AS.

Step 1102: The caller tone AS forwards the INVITE message to the calledCSCF via the calling CSCF; the called CSCF determines that the callee isan MRBT service subscriber according to the called terminal ID carriedin the INVITE message and the subscription relation between the calledterminal ID and the MRBT service stored in the HSS and sends the INVITEmessage carrying the calling terminal ID, called terminal ID, and offer1to the callee tone AS.

Step 1103: The callee tone AS forwards the INVITE message to the calledterminal via the called CSCF.

Steps 1104 and 1105: The called terminal performs normal medianegotiation according to its capability and sends a provisional responseto the callee tone AS via the called CSCF. The provisional responsecarries the normal media SDP (answer1) negotiated by the caller and thecallee. The response may be a 183 message.

Step 1106: The callee tone AS gets the early media SDP (offer3) of thecalled MRS for early tone media negotiation between the caller and thecalled MRS.

Step 1107: The callee tone AS forwards the provisional response to thecaller tone AS via the called CSCF and the calling CSCF.

Step 1108: The caller tone AS gets the early media SDP (offer3) of thecalling MRS for early tone media negotiation between the caller and thecalling MRS.

Step 1109: The caller tone AS sends the provisional response to thecalling terminal via the calling CSCF. The provisional response carriesanswer1, offer2 and offer3.

Steps 1110 and 1111: The calling terminal determines that the callertone will be played when the callee is d according to the user settingand the terminal ID of callee d and the calling terminal performs earlycaller tone media negotiation (the negotiated SDP is answer3) andrefuses to perform the early callee tone media negotiation. In answer2,the calling terminal port number may be set to 0 or the media directionattribute may be modified to “sendonly”.

Step 1112: The calling terminal sends a Prack message to the caller toneAS via the calling CSCF. The message carries the negotiated early callertone media SDP (answer3) and the early callee tone media SDP (answer2)

Step 1113: The caller tone AS forwards the negotiated early caller tonemedia SDP (answer3) to the calling MRS.

Step 1114: The caller tone AS sends the Prack message to the callee toneAS via the calling CSCF and the called CSCF. The message carries theearly callee tone media SDP (answer2).

Step 1115: The callee tone AS forwards the negotiated early callee tonemedia SDP (answer2) to the called MRS.

Steps 1116 and 1127: Similar to steps 0115 to 0126.

In embodiments C1 to C11 of the present invention, entities in thenetwork include the caller tone AS, caller tone management system,calling CSCF, calling MRS, calling MRS, callee tone AS, callee tonemanagement system, called CSCF, and called MRS. For easy description,the figures only show a part of the entities.

An entity on the caller side and its counterpart on the callee side maybe the same entity. For example, the calling CSCF and the called CSCFmay be the same CSCF; the caller tone AS and the callee tone AS may bethe same AS; the caller tone management system and the callee tonemanagement system may be the same system. In the embodiments of thepresent invention, the entities on the caller side and theircounterparts on the callee side are different entities. The scenarioswhere they are the same entities can be understood by analogy.

In practice, the CSCF may not determine whether a user has ordered atone but instead, the call request is sent directly to the tone AS,which will judge whether the user has ordered a tone and proceed withsubsequent operations. This process is similar to but simpler than theprocesses in the above embodiments.

With the technical solution provided in the embodiments of the presentinvention, the caller tone service can be implemented in the IMS domain.When both the caller and callee are MRBT service subscribers, the toneAS determines whether to play the caller tone or the callee tone to thecaller according to a tone policy.

The caller may also set tone filtering. If both caller and callee tonesare ordered, the caller may filter the caller tone and/or the calleetone by configuration. If the callee tone is filtered, the caller toneis played; if the caller tone is filtered, the callee tone is played; ifboth the caller tone and the callee tone are filtered (so that neitherthe caller tone or the callee tone is heard), the calling terminal playsa stored multimedia file directly.

The tone filtering policy may be set in the calling terminal, or a tonefiltering AS, or a caller tone AS, or an entity accessible to the callertone AS (such as a tone management system and a network address book ofthe caller). Particularly, the tone filtering policy may be set in auser setting table like Table 1 with the caller tone. For example,caller A may set a policy as described in Table 3 so that tone filtering(both the caller tone and the callee tone are filtered) is performedwhen the callee is J or K and the callee tone is played in the case ofother callees (equivalent to filtering the caller tone).

TABLE 3 Condition Tone Flag Tone Number Callee is B, C, or D caller-toneTone No. 1 Callee is E, F or G Tone No. 2 Callee is J or K filter-toneOther callees callee-tone

When the caller tone service is unavailable, tone filtering may still beperformed based on the callee tone service. The user may set filteringpolicies with respect to specific callees or specific time segments soas to determine whether to filter the tone.

Embodiment C12 describes a scenario where the caller tone AS and thecalling MRS are unnecessary on the caller side. Instead, a tonefiltering AS is placed on the caller side and the tone filtering policyis set in the tone filtering AS. The tone filtering AS adds a flag (tonefiltering flag) to an INVITE message and the callee tone AS parses theflag to know whether a tone will be played. As shown in FIG. 21, thespecific signaling flow in embodiment C12 is as follows:

Step 1201: The caller sends an INVITE message which carries the callingterminal ID, called terminal ID and normal SDP (offer1) of the callerfor call setup.

The calling CSCF determines that the caller is an MRBT filtering servicesubscriber according to the calling terminal ID carried in the INVITEmessage and the subscription relation between the calling terminal IDand the tone filtering service stored in the HSS and routes the callrequest to the tone filtering AS.

Step 1202: The tone filtering AS determines whether to filter the toneaccording to the user settings and the terminal ID of callee B; if thetone is not filtered, the existing call process is followed or else thetone filtering AS adds a “filter-tone” flag to the INVITE message.

Step 1203: The tone filtering AS forwards the INVITE message to thecalled CSCF via the calling CSCF; the calling CSCF determines that thecallee is an MRBT service subscriber according to the called terminal IDcarried in the INVITE message and the subscription relation between thecalled terminal ID and the MRBT service stored in the HSS and sends theINVITE message carrying the calling terminal ID, called terminal ID,offer1 and filter-tone to the callee tone AS.

Steps 1204 and 1205: The callee tone AS determines to filter the toneaccording to the filter-tone flag carried in the INVITE message andsends the INVITE message to the called terminal via the called CSCFwithout triggering an MRBT process.

Steps 1206 and 1207: The called terminal performs normal medianegotiation according to its capability and sends a provisional responseto the callee tone AS via the called CSCF. The provisional responsecarries the normal media SDP (answer1) negotiated by the caller and thecallee. The response may be a 183 message.

Step 1208: The callee tone AS forwards the provisional response to thetone filtering AS via the called CSCF and the calling CSCF.

Step 1209: The tone filtering AS sends the 183 message to the callingterminal via the calling CSCF. The message carries answer1.

Step 1210: The calling terminal sends a Prack message to the tonefiltering AS via the calling CSCF.

Steps 1211 and 1212: The tone filtering AS sends the Prack message tothe called terminal.

Steps 1213 to 1215: The called terminal sends a response to the callingterminal.

Steps 1216 to 1218: The called terminal rings and sends an alertingsignal 180 to the calling terminal.

Step 1219: The calling terminal plays a locally stored multimedia file.

Steps 1220 to 1222: The callee answers and the called terminal sends anoff-hook signal 200 to the calling terminal; upon reception of the 200message, the calling terminal stops playing the local multimedia.

In the above embodiment, the callee tone AS judges whether to trigger anMRBT process. Optionally, the called CSCF may determine whether to sendthe call request to the callee tone AS. As shown in FIG. 22, embodimentC13 is different from embodiment C12 in that the called CSCF determinesupon reception of the INVITE message to filter the callee tone accordingto the filter-tone flag carried in the message and forwards the INVITEmessage to the called terminal directly without sending it to the calleetone AS.

In another embodiment of the present invention, when the tone filteringAS determines to filter the tone, the tone filtering AS does not add afilter-tone flag to the INVITE message but instead, refuses to performtone media negotiation or negotiates a part of media types uponreception of the early tone media offer. The specific signaling flow isshown in FIG. 23, including:

Step 1401: Similar to step 1201.

Step 1402: The tone filtering AS determines whether to filter the toneaccording to user settings and the terminal ID of callee B.

Step 1403: The tone filtering AS routes the INVITE message to the calledCSCF via the calling CSCF; the called CSCF determines that the callee isan MRBT service subscriber according to the called terminal ID carriedin the INVITE message and the subscription relation between the calledterminal ID and the MRBT service stored in the HSS; and the called CSCFforwards the INVITE message to the callee tone AS.

Step 1404: The callee tone AS gets the early media SDP (offer2) of thecalled MRS.

Step 1405: The callee tone AS sends the INVITE message to the calledterminal via the called CSCF. The INVITE message carries the callingterminal ID, called terminal ID, and the normal media SDP (offer1) ofthe caller for call setup.

Steps 1406 and 1407: The called terminal performs normal medianegotiation according to its capability and sends a 183 message to thecallee tone AS via the called CSCF. The 183 message carries the normalmedia SDP (answer1) negotiated by the caller and the callee.

Step 1408: The callee tone AS sends the 183 message to the tonefiltering AS via the called CSCF and the calling CSCF. The 183 messagecarries the normal media SDP (answer1) negotiated by the caller and thecallee and the early media SDP (offer2) of the called MRS.

Step 1409: The tone filtering AS determines whether to filter the toneaccording to user settings and the terminal ID of callee B; if the toneis filtered, the tone filtering AS forwards offer2 in the 183 message tothe calling terminal.

Step 1410: The tone filtering AS sends the 183 message to the callingterminal via the calling CSCF. The message carries the normal media SDP(answer1).

Step 1411: The calling terminal sends a Prack message to the tonefiltering AS via the calling CSCF.

Step 1412: The tone filtering AS sets the calling terminal port numberin answer2 to 0, indicating refusing to perform early tone medianegotiation and sends a Prack message that carries answer2 to the toneAS.

Step 1413: The tone AS sends answer2 to the MRS.

Steps 1414 to 1423: Similar to steps 1212 to 1218 and steps 1220 to1222.

The tone filtering policy may also be set in the calling terminal. Whenthe calling terminal originates a call, the terminal determines whetherto filter the tone according to tone filtering policy; if it isnecessary to filter the tone, the calling terminal adds a filter-toneflag to the INVITE message or else the flag is not added. Similarly toembodiment C12, the callee tone AS determines to filter the callee toneaccording to the filter-tone flag in the INVITE message and thereforeproceeds without triggering an MRBT process. Similarly to embodimentC13, the called CSCF may determine to filter the callee tone accordingto the filter-tone flag in the INVITE message and therefore proceedwithout sending the call request to the tone AS.

In another embodiment of the present invention, the tone filteringpolicy is set in the calling terminal so that processing on the networkis not altered. When the calling terminal receives an early tone mediaoffer, if the calling terminal determines that it is necessary to filterthe tone according to the tone filtering policy, the calling terminalrefuses to perform the tone media negotiation. Particularly, the callingterminal sets the calling terminal port number in the returned answer2to 0, or accepts the tone media negotiation but later refuses to open amedia channel or refuses to play the tone.

As shown in FIG. 24, a server according to an embodiment of the presentinvention includes:

a receiving unit, adapted to receive a call request originated by acalling terminal;

a determining unit, adapted to determine whether to filter the toneaccording to the call request;

a filtering unit, adapted to filter the tone according to the decision;and

a policy unit, adapted to store a tone filtering policy according towhich the server determines whether to filter the tone.

As shown in FIG. 25, a terminal according to an embodiment of thepresent invention includes:

a transceiver unit, adapted to: originate a call request and receive anearly tone media negotiation request;

a policy unit, adapted to store a tone filtering policy; and

a filtering unit, adapted to: determine whether to filter the toneaccording to the stored tone filtering policy, and refuse to performtone media negotiation, or refuse to play the tone, or refuse to openthe media channel, according to the decision.

In addition, in the user settings listed in Table 1, the user mayfurther set as follows: if a callee tone is available, choose to receivethe callee tone; otherwise receive the caller tone. Because the callingdomain does not know whether the callee has ordered a tone, the callertone AS is unable to determine whether to start an MRBT process when itreceives the initial call request. The caller tone AS determines whethera callee tone is ordered according to the response to the call requestreturned by the callee side and in particular, according to the SDP typeand P-early-media header in the response. Optionally, the callee tone ASadds a tone flag in the response to the call request after an MRBTprocess is started. Three exemplary embodiments will be described.

In the embodiment shown in FIG. 26, the callee tone AS implements theMRBT service in the AS mode. The process includes:

Step 2601: The caller originates a call request, which is routed to thecaller tone AS.

Step 2602: The caller tone AS checks the priority of the caller tonewithout starting the MRBT process.

Step 2603: If the callee has ordered a callee tone, the call request isrouted to the callee tone AS. This embodiment assumes that the calleehas ordered a callee tone.

Steps 2604 and 2605: The callee tone AS forwards the call request to thecallee and the callee returns a 183 provisional response.

Step 2606: The callee tone AS starts the AS mode callee tone process.

Step 2607: The callee tone AS sends a 183 response that carries theearly-session SDP to the caller tone AS.

Step 2608: The caller tone AS determines that a callee tone is availableaccording to the early-session SDP carried in the 183 response andtherefore proceeds without starting the caller tone process. If theresponse does not carry an early-session SDP, the caller tone AS thinksthat no callee tone is available and therefore will start the callertone process.

Steps 2609 to 2616: The callee tone media negotiation is complete.

Step 2617 to 2620: The callee returns a 180 response to the caller andthe callee tone AS plays the tone to the caller.

Step 2621: The callee answers; the callee tone AS stops playing thetone; the caller and the callee start a conversation.

In the embodiment shown in FIG. 27, the callee tone AS implements theMRBT service in the gateway mode that supports P-early-media. Theprocess includes:

Step 2701: The caller originates a call request, which is routed to thecaller tone AS.

Step 2702: The caller tone AS checks the priority of the caller tonewithout starting the MRBT process.

Step 2703: If the callee has ordered a callee tone, the call request isrouted to the callee tone AS. This embodiment assumes that the calleehas ordered a callee tone.

Steps 2704 and 2705: The callee tone AS forwards the call request to thecallee and the callee returns a 183 provisional response.

Step 2706: The callee tone AS starts the gateway mode callee toneprocess.

Step 2707: The callee tone AS sends a 183 response that carries aP-early-media header field to the caller tone AS.

Step 2708: The caller tone AS determines that a callee tone is availableaccording to the P-early-media carried in the 183 response and thereforeproceeds without starting the caller tone process. If the response doesnot carry the P-early-media header field, the caller tone AS thinks thatno callee tone is available and therefore will start the caller toneprocess.

Steps 2709 to 2715: The callee tone media negotiation is complete.

Step 2716 to 2719: The callee returns a 180 response to the caller andthe callee tone AS plays the tone to the caller.

Step 2720: The callee answers; the callee tone AS stops playing thetone; the caller and the callee start a conversation.

In the embodiment shown in FIG. 28, the callee tone AS adds a tone flagafter starting the MRBT process to implement the MRBT service. Theprocess includes:

Step 2801: The caller originates a call request, which is routed to thecaller tone AS.

Step 2802: The caller tone AS checks the priority of the caller tonewithout starting the MRBT process.

Step 2803: If the callee has ordered a callee tone, the call request isrouted to the callee tone AS. This embodiment assumes that the calleehas ordered a callee tone.

Steps 2804 and 2805: The callee tone AS forwards the call request to thecallee and the callee returns a 183 provisional response.

Step 2806: The callee tone AS starts the AS mode callee tone process.

Step 2807: The callee tone AS sends a 183 response that carries acallee-tone flag to the caller tone AS.

Step 2808: The caller tone AS determines that a callee tone is availableaccording to the callee-tone flag carried in the 183 response andtherefore proceeds without starting the caller tone process. If nocallee-tone flag is carried in the response, the caller tone AS thinksthere is not callee tone and therefore will start the caller toneprocess.

Steps 2809 to 2816: The callee tone media negotiation is complete.

Step 2817 to 2820: The callee returns a 180 response to the caller andthe callee tone AS plays the tone to the caller.

Step 2821: The callee answers; the callee tone AS stops playing thetone; the caller and the callee start a conversation.

To implement the above embodiments, a tone AS is provided in anembodiment of the present invention. As shown in FIG. 29, the tone ASincludes:

a transceiver unit, adapted to: receive a call request originated by acalling terminal and send the call request to the callee, and receivethe response to the call request from the callee.

a policy unit, adapted to store a tone playing policy; and

a playing unit, adapted to play the caller tone or the callee tone tothe calling terminal according to the tone playing policy and theresponse message.

To sum up, with the technical solution provided in the embodiments ofthe present invention, the caller tone service can be implemented in theIMS domain. When both the caller and callee are MRBT servicesubscribers, the tone AS determines whether to play the caller tone orthe callee tone to the caller according to a tone playing policy.

Those skilled in the art understand that all or part of the steps in themethods provided according to the foregoing embodiments of the presentinvention can be implemented by hardware following instructions of aprogram. The program may be stored in a computer readable storagemedium, such as a Read-Only Memory (ROM), a Random Access Memory (RAM),a magnetic disk and a compact disk.

It is apparent that those skilled in the art can make variousmodifications and variations to the present invention without departingfrom the scope of the invention. The invention is intended to cover themodifications and variations provided that they fall in the scope ofprotection defined by the claims or their equivalents.

1. A method for implementing a multimedia ring back tone service,comprising: parsing by a calling terminal, a tone playing policy;originating by the calling terminal, a call request including a callertone flag or a callee tone flag according to a parsing result; receivingby a caller tone application server, the call request; determining bythe caller tone application server, whether to play a caller tone or acallee tone according to the respective caller tone flag or the calleetone flag included in the call request: if the caller tone applicationserver determines that the caller tone is to be played according to thecaller tone flag carried in the call request: the caller toneapplication server performs a caller tone media negotiation with thecalling terminal, plays the caller tone, and sends the call request to acalled Call Session Control Function (CSCF), if the caller toneapplication server determines that the callee tone is to be playedaccording to the callee tone flag carried in the call request: thecaller tone application server sends the call request to the called CSCFwithout triggering a caller tone process; receiving by a callee toneapplication server, the call request forwarded from the called CSCF; anddetermining by the callee tone application server, whether to play thecaller tone or the callee tone according to the respective caller toneflag or the callee tone flag included in the call request: if the calleetone application server determines that the caller tone is to be playedaccording to the caller tone flag carried in the call request: thecallee tone application server sends the call request to a calledterminal without triggering a callee tone process, if the callee toneapplication server determines that the callee tone is to be playedaccording to the callee tone flag carried in the call request: thecallee tone application server performs a callee tone media negotiationwith the calling terminal, sends the call request to the called terminaland plays the callee tone.
 2. A system for implementing the multimediaring back tone service, comprising a calling terminal, a caller toneapplication server and a callee tone application server, wherein: thecalling terminal is enabled to parse a tone playing policy, originate acall request including a caller tone flag or a callee tone flagaccording to a parsing result; the caller tone application server isenabled to receive the call request and to determine whether to play acaller tone or a callee tone according to the respective caller toneflag or the callee tone flag included in the call request: if the callertone application server determines that the caller tone is to be playedaccording to the caller tone flag carried in the call request, thecaller tone application server is further enabled to perform a callertone media negotiation with the calling terminal, play the caller tone,and send the call request to a called Call Session Control Function(CSCF), if the caller tone application server determines that the calleetone is to be played according to the callee tone flag carried in thecall request, the caller tone application server is further enabled tosend the call request to the called CSCF without triggering a callertone process; the callee tone application server is enabled to receivethe call request forwarded from the called CSCF and to determine whetherto play the caller tone or the callee tone according to the tone flagincluded in the call request: if the callee tone application serverdetermines that the caller tone is to be played according to the callertone flag carried in the call request, the callee tone applicationserver is further enabled to send the call request to a called terminalwithout triggering a callee tone process, if the callee tone applicationserver determines that the callee tone is to be played according to thecallee tone flag carried in the call request, the callee toneapplication server is further enabled to perform a callee tone medianegotiation with the calling terminal, to send the call request to thecalled terminal and to play the callee tone.